package sg.nus.iss.vmcs.gui.elements;

/**
 * Builder for the Store Viewer.
 * Constructs the contents for the store viewer
 * @author Philip
 */
public abstract class StoreViewerBuilder {
	/** StoreViewer (The Product) */
	protected StoreViewer storeViewer;
	
	/**
	 * Creates a new Store Viewer
	 * @param storeViewer
	 */
	public void createNewStoreViewer() {
		this.storeViewer = new StoreViewer();
	}
	
	/**
	 * Retrieves the product, the StoreViewer from the builder
	 * @return StoreViewer
	 */
	public StoreViewer getStoreViewer() {
		return storeViewer;
	}
	
	/**
	 * Builds the banner for the store viewer
	 */
	public abstract void buildBanner();
	
	/**
	 * Builds the list of store viewer items
	 */
	public abstract void buildStoreViewerItems();
	
	/**
	 * Adds listeners to the store viewer items
	 */
	public abstract void buildListeners();
}
